/**
 * Copyright(c) 2013 Jade Techonologies Co., Ltd.
 *
 * History:
 *   13-4-13 下午11:56 Created by dwzhang
 */
package com.jade.framework.base.util;

import java.util.List;
import java.util.RandomAccess;

/**
 * 基于数据库的全记录表，根据PagingList自动Cache.
 *
 * @author dwzhang
 * @version 1.0 13-4-13 下午11:56
 */
public interface CachedList<E>
    extends List<E>, RandomAccess
{
    /**
     * 返回当前Cached的页面的起始位置
     *
     * @return 当前Cached的页面的起始位置
     */
    public int getOffset();

    /**
     * 返回当前Cached的页面
     *
     * @return 当前Cached的页面
     */
    public PagingList<E> getCached();

    /**
     * 获取一个页面
     *
     * @param offset 起始位置
     * @param length 页面长度
     * @return 页面列表
     */
    public PagingList<E> getPage(int offset, int length);
}
